package com.acsior.hibernate.vo;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.acsior.dac.impl.hibernate.vo.GeneratorKey;
import com.acsior.dac.impl.hibernate.vo.HibernatePersistantIntegerIdVO;

/**
 * PaymentOrder entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "payment_orders")
@GeneratorKey(tableName = "payment_orders")
public class PaymentOrderVO extends HibernatePersistantIntegerIdVO {

	private static final long serialVersionUID = 7302825958171421988L;

	@Column(name = "bank", nullable = false, length = 100)
	private String bank;

	@Column(name = "bic", nullable = false, length = 10)
	private String bic;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "customer_id", nullable = false)
	private CustomerVO customer;

	@Column(name = "iban", nullable = false, length = 30)
	private String iban;

	@Column(name = "payment_date", nullable = false, length = 23)
	private Date paymentDate;

	@Column(name = "reason", nullable = false)
	private String reason;

	@Column(name = "recipient_name", nullable = false)
	private String recipientName;

	/** default constructor */
	public PaymentOrderVO() {
		super();
	}

	/** @return the bank */
	public String getBank() {
		return this.bank;
	}

	/** @return the bic */
	public String getBic() {
		return this.bic;
	}

	/** @return the customer */
	public CustomerVO getCustomer() {
		return this.customer;
	}

	/** @return the iban */
	public String getIban() {
		return this.iban;
	}

	/** @return the paymentDate */
	public Date getPaymentDate() {
		return this.paymentDate;
	}

	/** @return the reason */
	public String getReason() {
		return this.reason;
	}

	/** @return the recipientName */
	public String getRecipientName() {
		return this.recipientName;
	}

	/**
	 * @param bank
	 *            the bank to set
	 */
	public void setBank(String bank) {
		this.bank = bank;
	}

	/**
	 * @param bic
	 *            the bic to set
	 */
	public void setBic(String bic) {
		this.bic = bic;
	}

	/**
	 * @param customer
	 *            the customer to set
	 */
	public void setCustomer(CustomerVO customer) {
		this.customer = customer;
	}

	/**
	 * @param iban
	 *            the iban to set
	 */
	public void setIban(String iban) {
		this.iban = iban;
	}

	/**
	 * @param paymentDate
	 *            the paymentDate to set
	 */
	public void setPaymentDate(Date paymentDate) {
		this.paymentDate = paymentDate;
	}

	/**
	 * @param reason
	 *            the reason to set
	 */
	public void setReason(String reason) {
		this.reason = reason;
	}

	/**
	 * @param recipientName
	 *            the recipientName to set
	 */
	public void setRecipientName(String recipientName) {
		this.recipientName = recipientName;
	}
}